package com.cleaningcloud.erp.mapper;

import java.util.List;
import com.cleaningcloud.erp.domain.ErpProcudeReturn;
import com.cleaningcloud.erp.domain.dto.ErpProcudeReturnDto;
import com.cleaningcloud.erp.domain.vo.ErpProcudeReturnVo;
import org.apache.ibatis.annotations.Param;

/**
 * 采购退换货Mapper接口
 * 
 * @author cleaningcloud
 * @date 2024-10-05
 */
public interface ErpProcudeReturnMapper 
{
    /**
     * 查询采购退换货
     *
     * @param procudeReturnId 采购退换货主键
     * @return 采购退换货
     */
    ErpProcudeReturnVo selectErpProcudeReturnByProcudeReturnId(Long procudeReturnId);

    /**
     * 查询采购退换货列表
     * 
     * @param erpProcudeReturn 采购退换货
     * @return 采购退换货集合
     */
    List<ErpProcudeReturnVo> selectErpProcudeReturnList(ErpProcudeReturnDto erpProcudeReturn);

    /**
     * 新增采购退换货
     * 
     * @param erpProcudeReturn 采购退换货
     * @return 结果
     */
    int insertErpProcudeReturn(ErpProcudeReturn erpProcudeReturn);

    /**
     * 修改采购退换货
     * 
     * @param erpProcudeReturn 采购退换货
     * @return 结果
     */
    int updateErpProcudeReturn(ErpProcudeReturn erpProcudeReturn);

    /**
     * 删除采购退换货
     * 
     * @param procudeReturnId 采购退换货主键
     * @return 结果
     */
    int deleteErpProcudeReturnByProcudeReturnId(Long procudeReturnId);

    /**
     * 批量删除采购退换货
     * 
     * @param procudeReturnIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteErpProcudeReturnByProcudeReturnIds(Long[] procudeReturnIds);


    /**
     * 查询采购退换货
     *
     * @param procudeReturnOdd 采购退换货编号
     * @return 采购退换货
     */
    ErpProcudeReturnVo selectErpProcudeReturnByProcudeReturnOdd(@Param("procudeReturnOdd") String procudeReturnOdd);
}
